#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from dataclasses import dataclass
from typing import List, Dict, Optional

@dataclass
class VideoQuality:
    """视频质量信息"""
    quality: str  # 清晰度描述
    width: int    # 视频宽度
    height: int   # 视频高度
    bandwidth: int # 码率
    codecs: str   # 编码格式
    url: str      # 视频地址

@dataclass
class Subtitle:
    """字幕信息"""
    language: str  # 语言
    url: str      # 字幕文件地址

@dataclass
class VideoInfo:
    """视频信息"""
    title: str                    # 视频标题
    bvid: str                     # BV号
    aid: str                      # av号
    cid: str                      # 分P ID
    cover: str                    # 封面图片地址
    desc: str                     # 视频描述
    owner: Dict[str, str]         # UP主信息
    duration: int                 # 视频时长（秒）
    qualities: List[VideoQuality] # 可用的视频质量
    subtitles: List[Subtitle]     # 可用的字幕
    danmaku_url: Optional[str]    # 弹幕文件地址 